﻿namespace Nop.Plugin.Payments.WalletOne.Domain
{
    /// <summary>
	/// Class for WalletOne services
    /// </summary>
	public class WalletOneServices
    {
        /// <summary>
		/// WalletOne Service names
        /// </summary>
        private string[] _services = {
                                        "Единый кошелёк RUB",
                                        "Единый кошелёк UAH",
                                        "Единый кошелёк USD",
                                        "Единый кошелёк ZAR",
                                        "Яндекс.Деньги",
                                        "QIWI Кошелёк",
                                        "Ukash",
                                        "MoneyMail",
                                        "RBK Money",
                                        "Z-Payment",
                                        "WebCreds",
                                        "EasyPay",
                                        "Мобильный платёж \"Билайн\" (Россия)",
                                        "Мобильный платёж \"МТС\" (Россия)",
                                        "Мобильный платёж \"Мегафон\" (Россия)",
                                        "Наличные: Платёжные терминалы России",
                                        "Наличные: Платёжные терминалы Украины",
                                        "Наличные: Салоны сотовой связи: Евросеть, Связной ...",
                                        "Наличные: Отделения Сбербанка России",
                                        "Наличные: Банки Украины: Приватбанк, Правэкс-Банк, УкрСиббанк",
                                        "Наличные: Отделения Почты России",
                                        "Наличные: Денежные переводы \"ЛИДЕР\"",
                                        "Наличные: Денежные переводы \"CONTACT\"",
                                        "Наличные: Денежные переводы \"Unistream\"",
                                        "Наличные: Денежные переводы \"Anelik\"",
                                        "Безналичные: Интернет-банк \"Альфа-Клик\" (\"Альфа-Банк\")",
                                        "Безналичные: Интернет-банк \"Приват24\"",
                                        "Безналичные: Интернет-банк \"PSB-Retail\" (\"Промсвязьбанк\")",
                                        "Безналичные: Интернет-банк \"Связной Банк\"",
                                        "Безналичные: Банковский перевод в рублях",
                                        "Безналичные: Банковский перевод в гривнах",
                                        "Безналичные: Банковский перевод в долларах",
                                        "Безналичные: Банковские карты VISA, MasterCard (RUB)",
                                        "Безналичные: Банковские карты VISA, MasterCard (USD)",
                                        "Безналичные: Банковские карты VISA, MasterCard (EUR)",
                                        "Безналичные: Банковские карты VISA, MasterCard (UAH)",
                                        "Безналичные: Банковские карты НСМЭП Украины"
                                        };

        #region Properties

        /// <summary>
		/// WalletOne services string names
        /// </summary>
        public string[] Services
        {
            get { return _services; }
        }

        #endregion

        #region Utilities
        /// <summary>
        /// Gets the text name based on the ServiceID
        /// </summary>
		/// <param name="serviceId">ID of the payment method -from WalletOne</param>
		/// <returns>String representation of the payment method</returns>
        public static string GetServiceName(string serviceId)
        {
            switch (serviceId)
            {
				case "WalletOneRUB":
					return "Единый кошелёк RUB";
				case "WalletOneUAH":
					return "Единый кошелёк UAH";
				case "WalletOneUSD":
					return "Единый кошелёк USD";
				case "WalletOneZAR":
					return "Единый кошелёк ZAR";
				case "YandexMoneyRUB":
					return "Яндекс.Деньги";
				case "QiwiWalletRUB":
					return "QIWI Кошелёк";
				case "UkashEUR":
					return "Ukash";
				case "MoneyMailRUB":
					return "MoneyMail";
				case "RbkMoneyRUB":
					return "RBK Money";
				case "ZPaymentRUB":
					return "Z-Payment";
				case "WebCredsRUB":
					return "WebCreds";
				case "EasyPayBYR":
					return "EasyPay";
				case "BeelineRUB":
					return "Мобильный платёж \"Билайн\" (Россия)";
				case "MtsRUB":
					return "Мобильный платёж \"МТС\" (Россия)";
				case "MegafonRUB":
					return "Мобильный платёж \"Мегафон\" (Россия)";
				case "CashTerminalRUB":
					return "Наличные: Платёжные терминалы России";
				case "CashTerminalUAH":
					return "Наличные: Платёжные терминалы Украины";
				case "MobileRetailsRUB":
					return "Наличные: Салоны сотовой связи: Евросеть, Связной ...";
				case "SberbankRUB":
					return "Наличные: Отделения Сбербанка России";
				case "PrivatbankUAH":
					return "Наличные: Банки Украины: Приватбанк, Правэкс-Банк, УкрСиббанк";
				case "RussianPostRUB":
					return "Наличные: Отделения Почты России";
				case "LiderRUB":
					return "Наличные: Денежные переводы \"ЛИДЕР\"";
				case "ContactRUB":
					return "Наличные: Денежные переводы \"CONTACT\"";
				case "UnistreamRUB":
					return "Наличные: Денежные переводы \"Unistream\"";
				case "AnelikRUB":
					return "Наличные: Денежные переводы \"Anelik\"";
				case "AlfaclickRUB":
					return "Безналичные: Интернет-банк \"Альфа-Клик\" (\"Альфа-Банк\")";
				case "Privat24UAH":
					return "Безналичные: Интернет-банк \"Приват24\"";
				case "PsbRetailRUB":
					return "Безналичные: Интернет-банк \"PSB-Retail\" (\"Промсвязьбанк\")";
				case "SvyaznoyBankRUB":
					return "Безналичные: Интернет-банк \"Связной Банк\"";
				case "BankTransferRUB":
					return "Безналичные: Банковский перевод в рублях";
				case "BankTransferUAH":
					return "Безналичные: Банковский перевод в гривнах";
				case "BankTransferUSD":
					return "Безналичные: Банковский перевод в долларах";
				case "LiqPayRUB":
					return "Безналичные: Банковские карты VISA, MasterCard (RUB)";
				case "LiqPayUSD":
					return "Безналичные: Банковские карты VISA, MasterCard (USD)";
				case "LiqPayEUR":
					return "Безналичные: Банковские карты VISA, MasterCard (EUR)";
				case "LiqPayUAH":
					return "Безналичные: Банковские карты VISA, MasterCard (UAH)";
				case "NsmepUAH":
					return "Безналичные: Банковские карты НСМЭП Украины";
                default:
                    return "UNKNOWN";
            }
        }

        /// <summary>
        /// Gets the ServiceId based on the text name
        /// </summary>
		/// <param name="serviceName">Name of the payment method (based on the text name returned from GetServiceName())</param>
		/// <returns>Service ID as used by WalletOne</returns>
        public static string GetServiceId(string serviceName)
        {
            switch (serviceName)
            {
				case "Единый кошелёк RUB":
					return "WalletOneRUB";
				case "Единый кошелёк UAH":
					return "WalletOneUAH";
				case "Единый кошелёк USD":
					return "WalletOneUSD";
				case "Единый кошелёк ZAR":
					return "WalletOneZAR";
				case "Яндекс.Деньги":
					return "YandexMoneyRUB";
				case "QIWI Кошелёк":
					return "QiwiWalletRUB";
				case "Ukash":
					return "UkashEUR";
				case "MoneyMail":
					return "MoneyMailRUB";
				case "RBK Money":
					return "RbkMoneyRUB";
				case "Z-Payment":
					return "ZPaymentRUB";
				case "WebCreds":
					return "WebCredsRUB";
				case "EasyPay":
					return "EasyPayBYR";
				case "Мобильный платёж \"Билайн\" (Россия)":
					return "BeelineRUB";
				case "Мобильный платёж \"МТС\" (Россия)":
					return "MtsRUB";
				case "Мобильный платёж \"Мегафон\" (Россия)":
					return "MegafonRUB";
				case "Наличные: Платёжные терминалы России":
					return "CashTerminalRUB";
				case "Наличные: Платёжные терминалы Украины":
					return "CashTerminalUAH";
				case "Наличные: Салоны сотовой связи: Евросеть, Связной ...":
					return "MobileRetailsRUB";
				case "Наличные: Отделения Сбербанка России":
					return "SberbankRUB";
				case "Наличные: Банки Украины: Приватбанк, Правэкс-Банк, УкрСиббанк":
					return "PrivatbankUAH";
				case "Наличные: Отделения Почты России":
					return "RussianPostRUB";
				case "Наличные: Денежные переводы \"ЛИДЕР\"":
					return "LiderRUB";
				case "Наличные: Денежные переводы \"CONTACT\"":
					return "ContactRUB";
				case "Наличные: Денежные переводы \"Unistream\"":
					return "UnistreamRUB";
				case "Наличные: Денежные переводы \"Anelik\"":
					return "AnelikRUB";
				case "Безналичные: Интернет-банк \"Альфа-Клик\" (\"Альфа-Банк\")":
					return "AlfaclickRUB";
				case "Безналичные: Интернет-банк \"Приват24\"":
					return "Privat24UAH";
				case "Безналичные: Интернет-банк \"PSB-Retail\" (\"Промсвязьбанк\")":
					return "PsbRetailRUB";
				case "Безналичные: Интернет-банк \"Связной Банк\"":
					return "SvyaznoyBankRUB";
				case "Безналичные: Банковский перевод в рублях":
					return "BankTransferRUB";
				case "Безналичные: Банковский перевод в гривнах":
					return "BankTransferUAH";
				case "Безналичные: Банковский перевод в долларах":
					return "BankTransferUSD";
				case "Безналичные: Банковские карты VISA, MasterCard (RUB)":
					return "LiqPayRUB";
				case "Безналичные: Банковские карты VISA, MasterCard (USD)":
					return "LiqPayUSD";
				case "Безналичные: Банковские карты VISA, MasterCard (EUR)":
					return "LiqPayEUR";
				case "Безналичные: Банковские карты VISA, MasterCard (UAH)":
					return "LiqPayUAH";
				case "Безналичные: Банковские карты НСМЭП Украины":
					return "NsmepUAH";
				default:
                    return "UNKNOWN";
            }
        }
        #endregion

    }
}
